// 6.41 编写递归算法，在二叉树中求位于先序序列中第k个位置的结点的值。
#include <stdio.h>
#include <stdlib.h>
#include "E:\Desktop\data_struct\5TREE\1_bin_tree\creat.h"

void fun_6_41(tree *root, int &k)
{
    if (root)
    {
        if (k == 1)
            printf("%3d", root->data);
        if (root->left)
            k--;
        fun_6_41(root->left, k);
        if (root->right)
            k--;
        fun_6_41(root->right, k);
    }
}

int main()
{
    /*******************code*******************/
    int n = 15;
    int a1[15] = {1,
                  2, 3,
                  4, 5, NULL, NULL,
                  NULL, 6, 7, NULL, NULL, NULL, NULL, NULL};
    tree *root1;
    CreatTree(root1, a1, n, 0);
    int k = 7;
    fun_6_41(root1, k);
    /******************************************/
    printf("\n\n****************************\n");
    printf("Press Enter key to continue\n");
    getchar();
    return 0;
    /******************************************/
}
